1. Field of the Invention
This invention is in the field of content data distribution networks, especially satellite broadcast network video and audio data.
2. Related Art
Networks such as satellite broadcast television must control the distribution of content data such as television programs in order to distribute that content to the areas, groups of viewers and classes of subscribers that are intended to receive it, at the proper time and place. Multiple variables must be accommodated, such as geographic location, subscription groups, pay per view access and supplemental content, in order that the proper receivers and their users receive that programming they are supposed to receive and not other programming. Individual receiver equipment must be identified in a way that uniquely identifies users and associates the receivers with further parameters such as location and group participation.
Content data distribution networks by definition include a central dispersion source, such as a satellite uplink for broadcast television. They also include multiple receiver nodes, such as satellite receiver/decoders for broadcast television. In some systems there may be further distribution from the nodes, such as cable television services that distribute the programming received from a satellite. Typical control systems for known content data distribution networks involve complex lists of all unique receivers and/or users in memories at the central dispersion source, or uplink. Various parameters, for example zip code locations of receivers, further complicate the stored information. Operation requires complex searching algorithms at the uplink, and requires complex transmission of involved control instructions to the network. The uplink searching operations necessitate nontrivial amounts of time for processing through large databases. The resulting transmission of control instructions to the network uses significant amounts of bandwidth, especially in cases where the command is intended to be executed by large numbers of receiver sites.
These problems are somewhat solved by using a “grouping” scheme wherein the receiver units themselves perform said “database” lookup and filtering functions. Using groups of Boolean logic, likewise the receivers in effort distributes the database and processing among multiple sites thus saving time and bandwidth. However, said “grouping” schemes are not appropriate for all cases. For example, if the relevant information is directed to indicating what (U.S.) state the receiver is located in, each receiver would have 50 bits reserved in a look up memory for United States geographic distribution and each bit would correspond to one of the 50 states. Which ever bit was configured to designate the state the receiver was actually located in would be set and the other 49 bits would be clear. If a transmitted control instruction were to be executed by receivers in a particular state, each receiver across the country would receive the signal, scan the 50 bits reserved for state location, find the bit for the state indicated in the transmitted control instruction and check to see if that bit was set or clear. It was known to connect a second look up operation to the first with a Boolean operator.
If, as in the example, the parameter was a small one, for example 50 bits could store indicators for 50 states in only 7 bytes of memory, the lookup table technique was not problematic. However, where more complex parameter information needs to be stored, non trivial volumes of memory, processing power and execution time were required. For example, lookup tables for all of the zip codes in the United States requires a significant amount of memory, processing and time.
There is a need in the art for a control system that minimizes the processing time, memory volume and bandwidth required to accurately control proper access to all programming, or other content data.
U.S. Pat. No. 4,985,895 to Pelkey, the inventor of the present invention, discloses a “Remote Controlled Receiving System Apparatus and Method.” It is incorporated by reference herein. It discloses an addressing system in which an individual receiver/decoder for a content data distribution system (“receiver”) retains its own group membership information, which may include membership in multiple groups. Addressing was simply a matter of determining if a serial number equaled a desired serial number, or determining if a group membership indicator equaled a desired group membership indicator. Addressing could combine groups with the Boolean operators AND, OR and NOT.
Prior art addressing, including the '895 patent, has been limited in that the comparison of a transmitted addressing signal with address information in a receiver was no more complex than checking for equivalency.
Even in light of the '895 patent, then, there remains a need in the art for a control system that minimizes the processing time, memory volume and bandwidth required to accurately control proper access to all programming, or other content data. More particularly, there is a need for increasing the functional addressing processing executed at receivers, to augment control, economy, precision, scalability, flexibility, speed and efficiency.
Most digital content data distribution systems work according to common familiar concepts. Multiple content data streams, video, audio or data, are divided into packets, multiplexed, transmitted and routed for use to various receivers. The MPEG2 protocols are illustrative of the class, and are referred to herein as characteristic of the embodiments discussed herein. The Moving Picture Experts Group (MPEG) is the expert group of the International Organization for Standardization (ISO) that has defined the MPEG-2 standard protocol. Other protocols such as MPEG1 or DSS are alike in function although they vary in detail. Each standard is known in the art.
At some point, the video and audio content data, and other digital information must be multiplexed together to provide encoded bitstreams for delivery to the target destination. The Systems portion of the MPEG-2 standard (ISO/IEC 13818-1) defines how these bitstreams are synchronized and multiplexed together. The video portion of the MPEG-2 standard (ISO/IEC 13818-2) sets forth the manner in which pictures and frames are defined, how video data is compressed, various syntax elements, the video decoding process, and other information related to the format of a coded video bitstream. The audio portion of the MPEG-2 standard (ISO/IEC 13818-3) similarly describes the audio compression and coding techniques utilized in MPEG-2. Typically, video and audio data are encoded at respective video and audio encoders, and the resulting encoded video and audio data is input to an MPEG-2 Systems encoder/multiplexer. This Systems multiplexer can also receive other inputs, such as control instructions, management information such as authorization identifiers, private data bitstreams, and time stamp information. The resulting coded, multiplexed signal is referred to as the MPEG-2 transport stream.
The control instructions discussed herein may be transmitted among the transport stream or transmitted on a separate channel. Control instructions are generally known. Some are disclosed in U.S. Pat. No. 4,985,895 to Pelkey. They include, without limitation, instructions to play, block, play supplemental data such as subtitles, play advertisements, play content according to a schedule, billing recording, status information return, mute, change frequency, change decryption seeds, and the like.
The video and audio encoders provide encoded information to the Systems multiplexer in the form of an “elementary stream”. These elementary streams are “packetized” into packetized elementary streams which are comprised of many packets. Each packet includes a packet payload corresponding to the content data to be sent within the packet, and a packet header that includes information relating to the type, size, and other characteristics of the packet payload.
Elementary stream packets from the video and audio encoders are mapped into transport stream packets at the Systems encoder/multiplexor. Each transport stream packet includes a payload portion which corresponds to a portion of the elementary packet stream, and further includes a transport stream packet header. The transport stream packet header provides information used to transport and deliver the information stream, as compared to the elementary stream packet headers that provides information directly related to the elementary stream. Each transport packet header includes a packet identifier (PID) to identify the digital program or elementary stream to which it corresponds. Within the transport packet header is a packet identifier (PID), which is a 13-bit field used to identify transport packets which carry elementary stream data from the same elementary stream, and to define the type of payload in the transport packet payload.
Before the transport stream is decoded, the transport packets must undergo analysis, synchronization, demultiplexing, as well as other packet manipulating functions. These functions can be managed by devices such as a MPEG transport demultiplexor, in a known fashion.
Control instructions are typically sent in packet format, as a payload with content data or separately.